#ifndef MTLIST_H
#define MTLIST_H

#include "MTExpression.hpp"
#include <string>

namespace MathematicaTranslator {

	/** 
	  *  List representation.
	  *  Direct to CUDA translation.
	  */
	class MTList : public MTExpression {
		/// Associated ID with list
		std::string* identifier;
	public:
		
		ExpressionList *listElements;
		void setIdentifier();
		
		MTList(ExpressionList *listElements) 
			: listElements(listElements) {} 

		virtual std::string* generateCode(CodeGenContext& context);
		virtual std::string* getType();
		virtual std::string* getNumberOfElements();
		virtual int getClassType();

	};

}
#endif

